package com.dkm.service;

import java.util.List;

import com.dkm.entity.Module;
import com.dkm.entity.Permission;
import com.dkm.util.TreeNode;

public interface TreeService {

	//-------------------------模块树-----------------------------
	/**
	 * 根据传入的模块集合转换树结构
	 * @param modules
	 * @return
	 */
	List<TreeNode> getLayuiModuleTree(List<Module> modules);
	
	/**
	 * 查找子模块
	 * @param treeNode 父节点
	 * @param modules 模块集合
	 * @return 带有子集合的父节点
	 */
	TreeNode findChildren(TreeNode treeNode,List<Module> modules);
	//------------------------模块权限树------------------------------
	/**
	 * 根据传入的模块集合和权限集合转换树结构
	 * @param modules 模块集合
	 * @param permissions 权限集合
	 * @return 树结构集合
	 */
	List<TreeNode> getLayuiModuleAndPermissionTree(List<Module> modules,List<Permission> permissions);
	/**
	 * 根据节点信息查找子模块和子权限的节点集合
	 * @param parent 父模块
	 * @param modules 模块集合
	 * @param permissions 权限集合
	 * @return 生成的父节点
	 */
	TreeNode getModuleAndPermissionChildren(Module parent,List<Module> modules,List<Permission> permissions);
}
